// Generated from C:\Users\N42\workspace\mgr\grammar\AlloyANTLR4Grammar.g4 by ANTLR 4.1
package pl.edu.pw.elka.dzielins.revanalyzer.alloy.io.grammar;
import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link AlloyANTLR4GrammarParser}.
 */
public interface AlloyANTLR4GrammarListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#binOp}.
	 * @param ctx the parse tree
	 */
	void enterBinOp(@NotNull AlloyANTLR4GrammarParser.BinOpContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#binOp}.
	 * @param ctx the parse tree
	 */
	void exitBinOp(@NotNull AlloyANTLR4GrammarParser.BinOpContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#scope}.
	 * @param ctx the parse tree
	 */
	void enterScope(@NotNull AlloyANTLR4GrammarParser.ScopeContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#scope}.
	 * @param ctx the parse tree
	 */
	void exitScope(@NotNull AlloyANTLR4GrammarParser.ScopeContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#paragraph}.
	 * @param ctx the parse tree
	 */
	void enterParagraph(@NotNull AlloyANTLR4GrammarParser.ParagraphContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#paragraph}.
	 * @param ctx the parse tree
	 */
	void exitParagraph(@NotNull AlloyANTLR4GrammarParser.ParagraphContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#blockOrBar}.
	 * @param ctx the parse tree
	 */
	void enterBlockOrBar(@NotNull AlloyANTLR4GrammarParser.BlockOrBarContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#blockOrBar}.
	 * @param ctx the parse tree
	 */
	void exitBlockOrBar(@NotNull AlloyANTLR4GrammarParser.BlockOrBarContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#arrowOp}.
	 * @param ctx the parse tree
	 */
	void enterArrowOp(@NotNull AlloyANTLR4GrammarParser.ArrowOpContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#arrowOp}.
	 * @param ctx the parse tree
	 */
	void exitArrowOp(@NotNull AlloyANTLR4GrammarParser.ArrowOpContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#sigExt}.
	 * @param ctx the parse tree
	 */
	void enterSigExt(@NotNull AlloyANTLR4GrammarParser.SigExtContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#sigExt}.
	 * @param ctx the parse tree
	 */
	void exitSigExt(@NotNull AlloyANTLR4GrammarParser.SigExtContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#block}.
	 * @param ctx the parse tree
	 */
	void enterBlock(@NotNull AlloyANTLR4GrammarParser.BlockContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#block}.
	 * @param ctx the parse tree
	 */
	void exitBlock(@NotNull AlloyANTLR4GrammarParser.BlockContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#unOp}.
	 * @param ctx the parse tree
	 */
	void enterUnOp(@NotNull AlloyANTLR4GrammarParser.UnOpContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#unOp}.
	 * @param ctx the parse tree
	 */
	void exitUnOp(@NotNull AlloyANTLR4GrammarParser.UnOpContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#assertDecl}.
	 * @param ctx the parse tree
	 */
	void enterAssertDecl(@NotNull AlloyANTLR4GrammarParser.AssertDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#assertDecl}.
	 * @param ctx the parse tree
	 */
	void exitAssertDecl(@NotNull AlloyANTLR4GrammarParser.AssertDeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#letDecl}.
	 * @param ctx the parse tree
	 */
	void enterLetDecl(@NotNull AlloyANTLR4GrammarParser.LetDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#letDecl}.
	 * @param ctx the parse tree
	 */
	void exitLetDecl(@NotNull AlloyANTLR4GrammarParser.LetDeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#open}.
	 * @param ctx the parse tree
	 */
	void enterOpen(@NotNull AlloyANTLR4GrammarParser.OpenContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#open}.
	 * @param ctx the parse tree
	 */
	void exitOpen(@NotNull AlloyANTLR4GrammarParser.OpenContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#name}.
	 * @param ctx the parse tree
	 */
	void enterName(@NotNull AlloyANTLR4GrammarParser.NameContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#name}.
	 * @param ctx the parse tree
	 */
	void exitName(@NotNull AlloyANTLR4GrammarParser.NameContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#enumDecl}.
	 * @param ctx the parse tree
	 */
	void enterEnumDecl(@NotNull AlloyANTLR4GrammarParser.EnumDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#enumDecl}.
	 * @param ctx the parse tree
	 */
	void exitEnumDecl(@NotNull AlloyANTLR4GrammarParser.EnumDeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#decl}.
	 * @param ctx the parse tree
	 */
	void enterDecl(@NotNull AlloyANTLR4GrammarParser.DeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#decl}.
	 * @param ctx the parse tree
	 */
	void exitDecl(@NotNull AlloyANTLR4GrammarParser.DeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#module}.
	 * @param ctx the parse tree
	 */
	void enterModule(@NotNull AlloyANTLR4GrammarParser.ModuleContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#module}.
	 * @param ctx the parse tree
	 */
	void exitModule(@NotNull AlloyANTLR4GrammarParser.ModuleContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#factDecl}.
	 * @param ctx the parse tree
	 */
	void enterFactDecl(@NotNull AlloyANTLR4GrammarParser.FactDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#factDecl}.
	 * @param ctx the parse tree
	 */
	void exitFactDecl(@NotNull AlloyANTLR4GrammarParser.FactDeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#exprT}.
	 * @param ctx the parse tree
	 */
	void enterExprT(@NotNull AlloyANTLR4GrammarParser.ExprTContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#exprT}.
	 * @param ctx the parse tree
	 */
	void exitExprT(@NotNull AlloyANTLR4GrammarParser.ExprTContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#exprH}.
	 * @param ctx the parse tree
	 */
	void enterExprH(@NotNull AlloyANTLR4GrammarParser.ExprHContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#exprH}.
	 * @param ctx the parse tree
	 */
	void exitExprH(@NotNull AlloyANTLR4GrammarParser.ExprHContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#ref}.
	 * @param ctx the parse tree
	 */
	void enterRef(@NotNull AlloyANTLR4GrammarParser.RefContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#ref}.
	 * @param ctx the parse tree
	 */
	void exitRef(@NotNull AlloyANTLR4GrammarParser.RefContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#sigQual}.
	 * @param ctx the parse tree
	 */
	void enterSigQual(@NotNull AlloyANTLR4GrammarParser.SigQualContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#sigQual}.
	 * @param ctx the parse tree
	 */
	void exitSigQual(@NotNull AlloyANTLR4GrammarParser.SigQualContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#cmdDecl}.
	 * @param ctx the parse tree
	 */
	void enterCmdDecl(@NotNull AlloyANTLR4GrammarParser.CmdDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#cmdDecl}.
	 * @param ctx the parse tree
	 */
	void exitCmdDecl(@NotNull AlloyANTLR4GrammarParser.CmdDeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#compareOp}.
	 * @param ctx the parse tree
	 */
	void enterCompareOp(@NotNull AlloyANTLR4GrammarParser.CompareOpContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#compareOp}.
	 * @param ctx the parse tree
	 */
	void exitCompareOp(@NotNull AlloyANTLR4GrammarParser.CompareOpContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#quant}.
	 * @param ctx the parse tree
	 */
	void enterQuant(@NotNull AlloyANTLR4GrammarParser.QuantContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#quant}.
	 * @param ctx the parse tree
	 */
	void exitQuant(@NotNull AlloyANTLR4GrammarParser.QuantContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#typescope}.
	 * @param ctx the parse tree
	 */
	void enterTypescope(@NotNull AlloyANTLR4GrammarParser.TypescopeContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#typescope}.
	 * @param ctx the parse tree
	 */
	void exitTypescope(@NotNull AlloyANTLR4GrammarParser.TypescopeContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#specification}.
	 * @param ctx the parse tree
	 */
	void enterSpecification(@NotNull AlloyANTLR4GrammarParser.SpecificationContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#specification}.
	 * @param ctx the parse tree
	 */
	void exitSpecification(@NotNull AlloyANTLR4GrammarParser.SpecificationContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#sigDecl}.
	 * @param ctx the parse tree
	 */
	void enterSigDecl(@NotNull AlloyANTLR4GrammarParser.SigDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#sigDecl}.
	 * @param ctx the parse tree
	 */
	void exitSigDecl(@NotNull AlloyANTLR4GrammarParser.SigDeclContext ctx);

	/**
	 * Enter a parse tree produced by {@link AlloyANTLR4GrammarParser#funDecl}.
	 * @param ctx the parse tree
	 */
	void enterFunDecl(@NotNull AlloyANTLR4GrammarParser.FunDeclContext ctx);
	/**
	 * Exit a parse tree produced by {@link AlloyANTLR4GrammarParser#funDecl}.
	 * @param ctx the parse tree
	 */
	void exitFunDecl(@NotNull AlloyANTLR4GrammarParser.FunDeclContext ctx);
}